home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / tex / bfind406.zip / BFIND.DOC next >
Text File  |  1994-06-18  |  7KB  |  154 lines

  1. BFIND.DOC
  2. 06/18/94
  3.  
  4. The BFIND.EXE program adds Boolean logic to DOS's FIND command.  Features:
  5.  
  6.   * In most ways, identical to DOS FIND command except...
  7.   * Adds AND, OR, NOT, and XOR options to searches (finding all lines with
  8.     "Apples" or "Bananas", for example)
  9.   * Allows you to specify the starting column of the desired string
  10.   * Adds a pause (/P) option to have the output pause every 24 lines
  11.   * Avoids need to include the search string in quotation marks so you can
  12.     use the program more easily in batch commands.
  13.  
  14.  
  15. The DOS FIND command allows you to find lines in a text file which contain a
  16. given string.  You can also have the program tell you how many lines met the
  17. search criteria without actually viewing them which is an ideal way to find out
  18. how many times a given string appears in your file.  You can even use FIND to
  19. tell you how many total lines are in a given file just by requesting a string
  20. that you know will never appear in your file like "#X$S$".
  21.  
  22. BFIND adds to these capabilities.  It gives you the power of AND, OR, NOT, and
  23. XOR allowing you to find any line, for example, that contains both "Apples" and
  24. "Oranges" or to present any lines that contain either "Bananas" and "Pears".  In
  25. addition, you can do column-specific searching, finding only those lines, say,
  26. that contain "PRINT" beginning in column 10.
  27.  
  28. Some of the default values for this routine can be set using the CONFIGWS.EXE
  29. program contained in BFINDymm.ZIP.
  30.  
  31.  
  32. Syntax:
  33.  
  34.     BFIND [ /V | /-V ] [ /C | /-C ] [ /N | /-N ] [ /I | /-I ] [ /P | /-P ]
  35.       [ /-HEADER | /HEADER ] { search } infile [ /? ] [ >filename ]
  36.  
  37. where:
  38.   /V     says to find those items that do NOT match the specification
  39.   /-V    is the opposite of /V and is typically the default; CONFIGWS-able
  40.   /C     says to show the count of the items found (no individual lines)
  41.   /-C    is the opposite of /C and is typically the default; CONFIGWS-able
  42.   /N     says to number the output lines
  43.   /-N    is the opposite of /N and is typically the default; CONFIGWS-able
  44.   /I     says to make it a case-insensitive search
  45.   /-I    is the opposite of /I and is typically the default; CONFIGWS-able
  46.   /P     says to have the display pause every 24 lines
  47.   /-P    is the opposite of /P and is typically the default; CONFIGWS-able
  48.   /-HEADER says to skip the normal -----infile line
  49.   /HEADER is the opposite of /-HEAD and is typically the default
  50.   search is described below
  51.   infile is the name of the input file
  52.   /? or /HELP or HELP gives you this syntactical help
  53.   >filename is standard DOS redirection, letting you send results to a file
  54.          instead of to the screen
  55.  
  56.  
  57. BFIND directly supports all FIND options except for allowing multiple file
  58. names; use the DOS FOR command if you want that.  Options supported include the
  59. /V, /C, /N, /I (which was added in MS-DOS 5.0), infile, /?, and the redirection
  60. specifications.  FIND makes the file name be position sensitive--you cannot put
  61. the infile name before the switches--and BFIND adheres to that rule.
  62.  
  63. For search, the syntax is:
  64.   [ ( ]... search_item [ boolean [ ( ]... search_item [ ) ]...] [ ) ]...
  65. where:
  66.   ( and )     are used to group items
  67.   search_item is shown below
  68.   boolean     is AND, OR, or XOR (NOT is included with search_item)
  69.  
  70. for search_item, the syntax is:
  71.   [ NOT ]  "string" [ column ]
  72. where:
  73.   NOT         is obvious
  74.   string      the string to search; the quotation marks are typically not
  75.               required unless the string contains a space or a reserved word
  76.   column      is the column in which the string must be found.
  77.  
  78. So, let's cover some examples:
  79.  
  80.         BFIND "Bugs Bunny" OR "Elmer Fudd" TEST.TXT
  81.  
  82. Finds any lines in the file TEST.TXT containing either "Bugs Bunny" or "Elmer
  83. Fudd" in them.
  84.  
  85.         BFIND (Apples or Oranges) AND NOT Pears TEST2.TXT
  86.  
  87. Finds any lines in the file TEST2.TXT which contain the words "Apples" or
  88. "Oranges" in them and ignores any lines containing "Pears".  Note that the
  89. quotes around the search words are not required unless the words include spaces
  90. or unless they could be confused with some other keywords.  "BFIND OR OR AND
  91. TEST3.TXT" might cause the program to get confused since "OR" and "AND", which
  92. you want to look for as also keywords.
  93.  
  94.         BFIND /C "Bugs Bunny" AND Martians TEST.TXT
  95.  
  96. Gives you a total for the number of lines containing both "Bugs Bunny" and
  97. "Martians".
  98.  
  99. You can press the Esc character to abort the search early.
  100.  
  101.  
  102. Remember that BFIND, unlike FIND, typically doesn't require the search string to
  103. be in quotes.  As a result, you can create a text file (presume it's called
  104. C:\BAT\PHONE.TXT) containing phone numbers or something and then create a batch
  105. file (like PHONES.BAT) that looks like this:
  106.  
  107.         BFIND %1 %2 %3 %4 %5 C:\BAT\PHONE.TXT
  108.  
  109. When you want to find a phone number, you just say "PHONE name".  This is a
  110. little more natural that using FIND which would require that you enclose the
  111. name in quotes.  You can still use the Boolean operators in BFIND; the batch
  112. file above would allow up to five parameters.  Remember, though, if you're doing
  113. multiple-word names (like "Bruce Guthrie"), you have to enclose the name in
  114. quotes or use AND.  Both of the following would work with the batch file shown
  115. above (although the second option may produce more hits):
  116.  
  117.         PHONE "Bruce Guthrie"
  118.         PHONE Bruce AND Guthrie
  119.  
  120.  
  121. Return codes:
  122.  
  123. BFIND returns the following ERRORLEVEL codes:
  124.         0 = no problems, string found
  125.         1 = no problems, string not found
  126.       255 = syntax problems, file not found, or /? requested
  127.  
  128.  
  129. Author:
  130.  
  131. This program was written by Bruce Guthrie of Wayne Software.  It is free for use
  132. and redistribution provided relevant documentation is kept with the program, no
  133. changes are made to the program or documentation, and it is not bundled with
  134. commercial programs or charged for separately.  People who need to bundle it in
  135. for-sale packages must pay a $50 registration fee to "Wayne Software" at the
  136. following address.
  137.  
  138. Additional information about this and other Wayne Software programs can be found
  139. in the file BRUCEymm.DOC which should be included in the original ZIP file.
  140. ("ymm" is replaced by the last digit of the year and the two digit month of the
  141. release.  BRUCE312.DOC came out in December 1993.  This same naming convention
  142. is used in naming the ZIP file that this program was included in.) Comments and
  143. suggestions can also be sent to:
  144.  
  145.                 Bruce Guthrie
  146.                 Wayne Software
  147.                 113 Sheffield St.
  148.                 Silver Spring, MD 20910
  149.  
  150.                 fax: (301) 588-8986
  151.  
  152. Foreign users:  Please provide an Internet e-mail address in all correspondence.
  153.  
  154.